package com.app.ryjy.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 审核状态枚举
 */
@AllArgsConstructor
@Getter
public enum AuditStatusEnum {
    // 审核不通过
    NOT_APPROVED("审核不通过", 0, -1),
    // 审核通过
    APPROVED("审核通过", 1, -1),
    // 预审不通过
    PRE_AUDIT_NOT_APPROVED("预审不通过", 10, -1),
    // 预审通过
    PRE_AUDIT_APPROVED("预审通过", 11, -1),
    // 移送中
    TRANSFERRING("移送中", 21, -1),
    // 审核中
    UNDER_AUDIT("审核中", 97, -1),
    // 审核回退
    AUDIT_ROLLED_BACK("审核回退", 98, -1),
    // 待审核
    PENDING_AUDIT("待审核", 99, -1);

    private final String desc;
    private final int code;
    private final int bizCode;

    /**
     * 根据 bizCode 获取 code
     *
     * @param bizCode bizCode
     * @return code
     */
    public static int getCodeByBizCode(int bizCode) {
        for (AuditStatusEnum status : values()) {
            if (status.getBizCode() == bizCode) {
                return status.getCode();
            }
        }
        throw new RuntimeException("bizCode 不存在");
    }

    public static void main(String[] args) {
        System.out.println(AuditStatusEnum.getCodeByBizCode(-1));
    }
}